package org.wlw.user;

import java.util.ArrayList;
import java.util.List;

/**
 * 管理用户的类
 * 在这个类里面实现增删改查
 */
public class UserManager {
    List<User> users;
    int index;

    public UserManager() {
        //list可以放无限大小
        users = new ArrayList<>();
    }

    //在最后添加用户对象
    public void add(User user) {
        //用户名存在也不能添加
        if(load(user.getUsername())!=null) {
            //说明用户存在了
            System.out.println("添加的用户已经存在!不能添加");
            return;
        }
        users.add(user);
        System.out.println("添加用户成功!");
    }

    public void update(User user) {
        //1、根据用户名得到数组中的用户对象
        User tu = this.load(user.getUsername());
        if(tu==null) {
            System.out.println("修改的用户不存在！");
            return;
        }
//        tu = user;
        tu.setAge(user.getAge());
        tu.setGender(user.getGender());
        tu.setNickname(user.getNickname());
        tu.setPassword(user.getPassword());
    }

    public void list() {
        System.out.println("----------------------------------------------------------------------");
        for(User u:users) {
            System.out.println(u);
        }
        System.out.println("----------------------------------------------------------------------");
    }


    public User login(String username,String password) {
        //1、根据用户来找用户
        User u = this.load(username);
        if(u==null) {
            System.out.println("用户名不存在!");
            return null;
        }
        //2、检测用户名密码是否正确
        if(!password.equals(u.getPassword())) {
            System.out.println("密码不正确!");
            return null;
        }
        return u;
    }

    public void delete(String username) {
        User u = this.load(username);
        if(u==null) {
            System.out.println("删除的用户不存在!");
            return;
        }
        users.remove(u);
    }

    public User load(String username) {
        for(User u:users) {
            if(u.getUsername().equals(username)) {
                return u;
            }
        }
        return null;
    }
}
